publi.shの代替を作る
概要
publi.shとは、今このブログっぽいものをrtf -> htmlへと変換してるツール。
まんまshell。
で、さすがに拡張が無理なのと、なんらか見やすいようにしたいね~という思いがあり、
式年遷宮を考え中。
現状のpubli.sh(というかhtmlnize.shとindexize.sh)
https://github.com/sassembla/Public/blob/gh-pages/publi.sh https://github.com/sassembla/Public/blob/gh-pages/htmlnize.sh
https://github.com/sassembla/Public/blob/gh-pages/indexize.sh
既存仕様のいろいろ
rtfベース
記述はrtf or rtfdで行なっている。というかMacのTextEditっていうアプリが高性能で、
画像だろうがレイアウトだろうがなんだろうが自由にサクッとなんとかしてくれるんで、そのへんに依存している。
絶対にhtmlを書きたくない。文字の色やサイズ、強調ぐあいなんてGUIから自由に変えられてなんぼだ。
html変換
htmlnize.shってのでやってる。
https://github.com/sassembla/Public/blob/gh-pages/htmlnize.sh
TextEditで出力したrtfをhtmlに変換するところはshellで行なっている。
特定のフォルダにrtfを入れた状態で変換shellを走らせると、rtf/rtfd2htmlが走る。
画像が一切含まれないrtfはそのままhtmlへと変換される。
画像が含まれるrtf = rtfdはこれもともとフォルダ的な扱いでデータを保持するので、
html化した際はフォルダが露出し、使用している画像などが画像として出てくる。
で、rtfd->html化された場合、html内のパスが自動的にフォルダ内の画像パスを指すようになっている。
これによって、アップロードされたあとの画像パスがいい感じになる。
自動インデックス作成
indexize.shってのでやってる。
https://github.com/sassembla/Public/blob/gh-pages/indexize.sh
html化された記事からタイトルを取り出して、その日付とかを元にリンクというか記事一覧インデックスを作成する。
無理やりやってる。
バージョン管理
publi.shの対象パスをgithubで管理してるので、まあ、楽。
競合というか制作動機
octpressとかまあほんとにそのへんいろいろあるんだけど、ブログである必要はないという異様な需要に基づくいらない機能がいっぱいあるんで、
それらをカスタマイズするのが辛いので作った。
つづく。